#include "app_runner.h"

void sig_exit(int sig)
{
    log_info("收到退出信号");
    app_device_set_is_running(false);
}

int usr1(int sig)
{ 
    log_info("收到usr1信号");
}
void app_runner_run(void)
{

    device_handle_t dev = app_device_init();

    if (dev == NULL)
    {
        log_fatal("device初始化失败");
        return -1;
    }

    log_info("device初始化成功");

    // 注册信号
    signal(SIGINT, sig_exit);  // ctrl+c
    signal(SIGTERM, sig_exit); // kill 进程id   (不能使用-9)

    // 自定义信号
    signal(SIGUSR1, usr1);  // kill -10 进程id

    while (app_device_is_running())
    {
        log_info("device运行中....");
        sleep(2);
    }

    // 释放资源
    log_info("device释放资源");
    app_device_deInit();
}
